var data = [{
  field1: '111',
  field2: '222',
  field3: '333',
}, {
  field1: '111',
  field2: '222',
  field3: '333',
}, {
  field1: '111',
  field2: '222',
  field3: '333',
}, {
  field1: '111',
  field2: '222',
  field3: '333',
}, {
  field1: '111',
  field2: '222',
  field3: '333',
}, {
  field1: '111',
  field2: '222',
  field3: '333',
}, ];

var treeNode = {
  setting: {
    check: {
      enable: true
    },
    view: {
      dblClickExpand: false
    },
    data: {
      simpleData: {
        enable: true
      }
    },
    callback: {
      beforeClick: beforeClick,
      onCheck: onCheck
    }
  },
  zNodes: [{
    name: "父节点1 - 展开",
    open: true,
    children: [{
      name: "父节点11 - 折叠",
      open: true,
      children: [{
        name: "叶子节点111",
        id: 100
      }, {
        name: "叶子节点112"
      }, {
        name: "叶子节点113"
      }, {
        name: "叶子节点114"
      }]
    }, {
      name: "父节点12 - 折叠",
      open: true,
      children: [{
        name: "叶子节点121"
      }, {
        name: "叶子节点122"
      }, {
        name: "叶子节点123"
      }, {
        name: "叶子节点124"
      }]
    }, {
      name: "父节点13 - 没有子节点",
      isParent: true
    }]
  }, {
    name: "父节点2 - 折叠",
    open: true,
    children: [{
      name: "父节点21 - 展开",
      open: true,
      children: [{
        name: "叶子节点211"
      }, {
        name: "叶子节点212"
      }, {
        name: "叶子节点213"
      }, {
        name: "叶子节点214"
      }]
    }, {
      name: "父节点22 - 折叠",
      open: true,
      children: [{
        name: "叶子节点221"
      }, {
        name: "叶子节点222"
      }, {
        name: "叶子节点223"
      }, {
        name: "叶子节点224"
      }]
    }, {
      name: "父节点23 - 折叠",
      open: true,
      children: [{
        name: "叶子节点231"
      }, {
        name: "叶子节点232"
      }, {
        name: "叶子节点233"
      }, {
        name: "叶子节点234"
      }]
    }]
  }, {
    name: "父节点3 - 没有子节点",
    isParent: true
  }]
};

function beforeClick(treeId, treeNode) {
  var zTree = $.fn.zTree.getZTreeObj("treeDemo");
  zTree.checkNode(treeNode, !treeNode.checked, null, true);
  return false;
}

function onCheck(e, treeId, treeNode) {
  var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
    nodes = zTree.getCheckedNodes(true),
    v = "";
  for (var i = 0, l = nodes.length; i < l; i++) {
    v += nodes[i].name + ",";
  }
  if (v.length > 0) v = v.substring(0, v.length - 1);
  var cityObj = $("#citySel");
  cityObj.attr("value", v);
}

function showMenu() {
  var cityObj = $("#citySel");
  var cityOffset = $("#citySel").offset();
  $("#menuContent").css({
    left: cityOffset.left + "px",
    top: cityOffset.top + cityObj.outerHeight() + "px"
  }).slideDown("fast");

  $("body").bind("mousedown", onBodyDown);
}

function hideMenu() {
  $("#menuContent").fadeOut("fast");
  $("body").unbind("mousedown", onBodyDown);
}

function onBodyDown(event) {
  if (!(event.target.id == "menuBtn" || event.target.id == "citySel" || event.target.id == "menuContent" || $(event.target).parents("#menuContent").length > 0)) {
    hideMenu();
  }
}

function initTable() {
  var $table = $('#system_operation_log_table');
  $table.bootstrapTable({
    data: data,
    pagination: true,
    pageSize: 10
  });
}

$(function() {
  $.fn.zTree.init($("#treeDemo"), treeNode.setting, treeNode.zNodes);
  initTable();
});